import sqlite3
# -*- coding: utf-8 -*-
def stu_install_zhuce(id,number,password,name):
    achievement=0
    class_=' '
    # 连接到SQLite数据库（如果数据库不存在，它将被创建）
    conn = sqlite3.connect('biao.db')
    # 创建一个游标对象
    cursor = conn.cursor()
    # 定义要插入的学生数据
    student_data = (id, number, password,class_, name, achievement)
    # 执行插入学生的SQL语句
    insert_query = "INSERT INTO students (id, phone_number, password,class, name, achievement) VALUES (?, ?, ?, ?, ?,?)"
    cursor.execute(insert_query, student_data)
    # 提交事务
    conn.commit()
    # 关闭游标和连接
    if cursor.rowcount > 0:
        return True
    else:
        return False
def is_student_id_exists(student_id):
    # 连接到SQLite数据库（如果数据库不存在，它将被创建）
    conn = sqlite3.connect('biao.db')
    # 创建一个游标对象
    cursor = conn.cursor()
    # 执行查询学生ID的SQL语句
    select_query = "SELECT * FROM students WHERE id = ?"
    cursor.execute(select_query, (student_id,))
    # 获取查询结果
    result = cursor.fetchone()
    # 关闭游标和连接
    cursor.close()
    conn.close()
    # 如果查询结果不为空，则学生ID已经存在于表中
    if result is not None:
        return True
    else:
        return False
def is_phone_number_registered(phone_number):
    # 连接到SQLite数据库（如果数据库不存在，它将被创建）
    conn = sqlite3.connect('biao.db')

    # 创建一个游标对象
    cursor = conn.cursor()

    # 执行查询手机号的SQL语句
    select_query = "SELECT * FROM students WHERE phone_number = ?"
    cursor.execute(select_query, (phone_number,))

    # 获取查询结果
    result = cursor.fetchone()

    # 关闭游标和连接
    cursor.close()
    conn.close()

    # 如果查询结果不为空，则手机号已经被注册
    if result is not None:
        return True
    else:
        return False
import sqlite3

def get_student_scores(student_id):
    # 连接到数据库
    conn = sqlite3.connect('biao.db')

    # 创建一个游标对象
    cursor = conn.cursor()

    # 执行SQL查询
    cursor.execute("SELECT achievement FROM students WHERE id = ?", (student_id,))

    # 获取查询结果
    result = cursor.fetchone()  # 获取一行结果

    # 关闭游标和连接
    cursor.close()
    conn.close()

    # 处理查询结果
    if result:
        scores = result[0]  # 获取第一列的值，索引从0开始
        return scores
    else:
        return None
import sqlite3

def update_student_scores(student_id, new_scores):
    # 连接到数据库
    conn = sqlite3.connect('biao.db')

    # 创建一个游标对象
    cursor = conn.cursor()

    # 执行SQL更新
    cursor.execute("UPDATE students SET achievement = ? WHERE id = ?", (new_scores, student_id))
    conn.commit()

    # 获取更新影响的行数
    rows_affected = cursor.rowcount

    # 关闭游标和连接
    cursor.close()
    conn.close()

    # 返回更新影响的行数
    return rows_affected
import sqlite3

def get_all_students():
    # 连接到数据库
    conn = sqlite3.connect('biao.db')

    # 创建一个游标对象
    cursor = conn.cursor()

    # 执行SQL查询
    cursor.execute("SELECT * FROM students")

    # 获取查询结果
    results = cursor.fetchall()  # 获取所有结果

    # 关闭游标和连接
    cursor.close()
    conn.close()
    results = list(results)
    # 返回查询结果
    return results
def get_class_bu_stu_id(id):
    # 连接到数据库
    conn = sqlite3.connect('example.db')

    # 创建一个游标对象
    cursor = conn.cursor()

    # 执行SQL查询
    cursor.execute("SELECT class FROM students WHERE id = ?", (id,))

    # 获取查询结果
    result = cursor.fetchone()  # 获取一行结果

    # 关闭游标和连接
    cursor.close()
    conn.close()

    # 返回班级信息
    if result:
        return result[3]  # 返回学生的班级信息
    else:
        return None  # 如果没有找到对应的学生或班级信息，返回None
def stu_number_find_password(number):
    # 连接到数据库
    conn = sqlite3.connect('biao.db')

    # 创建一个游标对象
    cursor = conn.cursor()

    # 执行SQL查询
    cursor.execute("SELECT password FROM students WHERE phone = ?", (number,))

    # 获取查询结果
    result = cursor.fetchone()  # 获取一行结果

    # 关闭游标和连接
    cursor.close()
    conn.close()

    # 返回密码信息
    if result:
        return result[2]  # 返回密码信息，第一列的值
    else:
        return None  # 如果没有找到对应的手机号或密码信息，返回None
def stu_number_find_id(number):
    # 连接到数据库
    conn = sqlite3.connect('biao.db')

    # 创建一个游标对象
    cursor = conn.cursor()

    # 执行SQL查询
    cursor.execute("SELECT id FROM teachers WHERE phone = ?", (number,))

    # 获取查询结果
    result = cursor.fetchone()  # 获取一行结果

    # 关闭游标和连接
    cursor.close()
    conn.close()

    # 返回密码信息
    if result:
        return result[0]  # 返回密码信息，第一列的值
    else:
        return None  # 如果没有找到对应的手机号或密码信息，返回None